package com.ddtech.business.course.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ddtech.business.course.entity.Course;
import com.ddtech.business.course.query.CourseQuery;
import com.ddtech.business.course.vo.CourseVo;

/**
 * <p>
 * 课程表 服务类
 * </p>
 *
 * @author bin_pu
 * @since 2023-02-06
 */
public interface CourseService extends IService<Course> {
    /**
     * 分页查询列表
     * @param courseQuery
     * @return
     */
    Object pageList(CourseQuery courseQuery);

    /**
     * 分页查询列表-VR
     * @param courseQuery
     * @return
     */
    Object pageListVr(CourseQuery courseQuery);

    /**
     * 分页查询列表
     * @param courseQuery
     * @return
     */
    Object pageCourseList(CourseQuery courseQuery);

    /**
     * 分页查询列表-pc、移动端
     * @param courseQuery
     * @return
     */
    Object pageCourseListPc(CourseQuery courseQuery);

    /**
     * 分页查询列表-pc、移动端
     * @param courseQuery
     * @return
     */
    Object pageCourseListType(CourseQuery courseQuery);

    /**
     * 分页查询列表-pc、移动端，课程搜索
     * @param courseQuery
     * @return
     */
    Object pageCourseListSearch(CourseQuery courseQuery);

    /**
     * 创建
     * @param courseVo
     * @return
     */
    void create(CourseVo courseVo);

    /**
     * 创建
     * @param course
     * @return
     */
    Object createVr(Course course);

    /**
     * 删除
     * @param id
     */
    void del(String id);

    /**
     * 删除
     * @param id
     */
    void delType(String id);

    /**
     * 详情
     * @param id
     * @return
     */
    CourseVo info(String id);

    /**
     * 课程详情
     * @param id
     * @return
     */
    Object getCourseInfo(String id);

    /**
     * 获取课程章节
     * @param id
     * @return
     */
    Object getCourseChapter(String id);
}
